package com.ruoyi.thoroughfare.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.excel.annotation.ExcelDictFormat;
import com.ruoyi.common.excel.convert.ExcelDictConvert;
import lombok.Data;

import java.io.Serializable;


/**
 * 用户管理视图对象
 *
 * @author Zach
 * @date 2023-11-14
 */
@Data
@ExcelIgnoreUnannotated
public class AppUserVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 手机号
     */
    @ExcelProperty(value = "手机号")
    private String phoneNumber;

    /**
     * 用户名
     */
    @ExcelProperty(value = "用户名")
    private String userName;

    /**
     * 密码
     */
    @ExcelProperty(value = "密码")
    private String userPassword;

    /**
     * 用户类型
     */
    @ExcelProperty(value = "用户类型")
    private Long userType;

    /**
     * 用户等级
     */
    @ExcelProperty(value = "用户等级")
    private Long userLevel;

    /**
     * 身份证号码
     */
    @ExcelProperty(value = "身份证号码")
    private String userIdCard;

    /**
     * 身份证照片
     */
    @ExcelProperty(value = "身份证照片")
    private String userIdCardPath;

    /**
     * 用户头像地址
     */
    @ExcelProperty(value = "用户头像地址")
    private String userPath;

    /**
     * 真实姓名
     */
    @ExcelProperty(value = "真实姓名")
    private String userIdName;

    /**
     * 实名状态
     */
    @ExcelProperty(value = "实名状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "user_real_status")
    private Long userRealStatus;

    /**
     * 上级
     */
    @ExcelProperty(value = "上级")
    private Long superUserId;

    /**
     * 认证状态
     */
    @ExcelProperty(value = "认证状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "certification_status")
    private Long certificationStatus;

    /**
     * 用户状态
     */
    @ExcelProperty(value = "用户状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "user_status")
    private Long status;


}
